import { defineStore } from "pinia";
import { menuqueryAll, roleMenuAll } from "../service/index";

import { transTree } from "../ults/ults";

// useStore 可以是 useUser、useCart 之类的任何东西
// 第一个参数是应用程序中 store 的唯一 id
export const useStore = defineStore("main", {
  // 推荐使用 完整类型推断的箭头函数
  state: () => ({
    menulistAll: [], //所有菜单
    roleAll: [], //所有角色
    menuFold: false, // 菜单是否折叠
  }),
  getters:{
   
  },
  actions: {
    // 获取树形菜单
    async getmenu() {
      let res = await menuqueryAll();
      this.menulistAll = transTree(res.data, "");
    },
    getroleAll() {
      roleMenuAll().then((res) => {
        this.roleAll = res.data;
      });
    },
    // 设置当前菜单是否折叠
    isicon() {
      this.menuFold = !this.menuFold
      console.log(this.menuFold);
    },
  },

  persist: {
    //这里存储默认使用的是session
    enabled: true,
    strategies: [
      {
        //key的名称
        key: "user",
        //更改默认存储，我更改为localStorage
        storage: localStorage,
        // 可以选择哪些进入local存储，这样就不用全部都进去存储了
        // 默认是全部进去存储
        paths: ["menulistAll", "roleAll"],
      },
    ],
  },
});
